package com.spzx.channel.controller;

import com.spzx.channel.domain.vo.ItemVO;
import com.spzx.channel.service.ItemService;
import com.spzx.common.core.web.controller.BaseController;
import com.spzx.common.core.web.domain.AjaxResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("item")
@Tag(name="商品详情模块")
public class ItemController extends BaseController {
    @Resource
    ItemService itemService;
    /*
        1、创建接口需要保证可以接收到请求
        2、需要接收请求参数：
            - 如果参数比较复杂，我们需要自定义DTO类接收(data transfer object)
        3、创建业务方法处理业务
            - 按照前端的要求 或者 接口文档的要求 组装数据返回
            - 数据如果比较复杂 需要我们自定义VO类组装数据
     */
    // AjaxResult 没有特殊情况 都是用AjaxResult作为统一响应类
    @Operation(summary = "根据skuId查询商品详情展示")
    @GetMapping("{skuId}")
    public AjaxResult getItem(@PathVariable("skuId")Long skuId){
        ItemVO itemVO = itemService.selectItemBySkuId(skuId);
        return success(itemVO);
    }
}
